$(function() {
    // 定义一个查询的参数对象，将来请求数据的时候，
    // 需要将请求参数对象提交到服务器
    const obj = {
        pagenum: 1, // 页码值，默认请求第一页的数据
        pagesize: 2, // 每页显示几条数据，默认每页显示2条
        cate_id: '', // 文章分类的 Id
        state: '' // 文章的发布状态
    }

    Number.prototype.padZero = function() {
        return this.toString().padStart(2, 0)

        // return String.prototype.padStart.call(this, 2,0)
    }

    template.defaults.imports.dataFormat = function(date) {
        const dt = new Date(date)
        const y = dt.getFullYear()
        const m = (dt.getMonth() + 1).padZero()
        const d = dt.getDate().padZero()

        const hh = dt.getHours().padZero()
        const mm = dt.getMinutes().padZero()
        const ss = dt.getSeconds().padZero()

        return `${y}-${m}-${d} ${hh}:${mm}:${ss}`
    }
    const { layer, form, laypage } = layui
    initTable()

    function initTable() {
        $.ajax({
            method: 'get',
            url: '/my/article/list',
            data: obj,
            success: function(res) {
                if (res.status !== 0) return layer.msg('获取文章列表数据失败！')
                const htmlStr = template('tpl-table', res)
                $('tbody').html(htmlStr)
                renderPages(res.total)
            }
        })
    }
    initCate()

    function initCate() {
        $.ajax({
            method: 'GET',
            url: '/my/article/cates',
            success: function(res) {
                if (res.status !== 0) return layer.msg('获取分类失败！')
                const htmlStr = template('tpl-cate', res)
                $('[name=cate_id]').html(htmlStr)
                form.render()
            }
        })
    }
    $('#form-search').on('submit', function(e) {
            e.preventDefault()
            const cate_id = $('[name=cate_id]').val()
            const state = $('[name=state]').val()
                // 给obj重新赋值
            obj.cate_id = cate_id
            obj.state = state
                // 重新渲染table
            initTable()
        })
        // 定义分页的方法
    function renderPages(total) {
        // 调用 laypage.render() 方法来渲染分页的结构
        laypage.render({
            elem: 'pageBox', // 分页容器的 Id
            count: total, // 总数据条数
            limit: obj.pagesize, // 每页显示几条数据
            curr: obj.pagenum, // 设置默认被选中的分页
            layout: ['count', 'limit', 'prev', 'page', 'next', 'skip'],
            limits: [2, 3, 5, 10],
            jump: function(page, first) {
                // console.log(page.curr);
                obj.pagenum = page.curr
                obj.pagesize = page.limit
                if (!first) {
                    initTable()
                }
            }
        })
    }
    // 删除列表数据
    $('tbody').on('click', '.btn-delete', function() {
        const id = $(this).data('id')
        let len = $('.btn-delete').length
        console.log(len);
        layer.confirm('是否删除数据?', { icon: 3, title: '提示' }, function(index) {
            //do something

            // 发请求删除数据
            $.ajax({
                method: 'GET',
                url: '/my/article/delete/' + id,
                success: (res) => {
                    if (res.status !== 0) {
                        return layer.msg('删除数据失败！')
                    }
                    layer.msg('删除数据成功')

                    if (len === 1 && obj.pagenum > 1) {
                        obj.pagenum--
                    }

                    initTable()
                    layer.close(index);
                }
            })
        });
    })

    // 编辑数据
    $('tbody').on('click', '.btn-edit', function() {
        location.href = '/article/art_publish.html'
    })
})